The Essence of Parallel Algol
نویسنده
چکیده
We consider a parallel Algol-like language, combining procedures with shared-variable parallelism. Procedures permit encapsulation of common parallel programming idioms. Local variables provide a way to restrict interference between parallel commands. The combination of local variables, procedures, and parallelism supports a form of concurrent object-oriented programming. We provide a denotational semantics for this language, simultaneously adapting possible worlds to the parallel setting and generalizing transition traces to the procedural setting. This semantics supports reasoning about safety and liveness properties of parallel programs, and validates a number of natural laws of program equivalence based on noninterference properties of local variables. The semantics also validates familiar laws of functional programming. We also provide a relationally parallel semantics. This semantics supports standard methods of reasoning about representational independence, adapted to sharedvariable programs. The clean design of the programming language and its semantics shows that procedures and shared-variable parallelism can be combined smoothly. C © 2002 Elsevier Science (USA)
منابع مشابه
Note on Algol and Conservatively Extending Functional Programming
A simple Idealized Algol is considered, based on Reynolds's \essence of Algol." It is shown that observational equivalence in this language conservatively extends observational equivalence in its assignment-free functional sublanguage.
متن کاملCan Java Persist?
This paper briefly and selectively reviews the experience gained in designing and implementing the orthogonally persistent programming languages PS-algol and Napier88. A major design issue is how much is built into the support system and how much is built on top of the language itself. The PS-algol and Napier88 systems provide at the system or language level: a persistent store with root(s), re...
متن کاملAngelic Semantics of Fine-Grained Concurrency
We introduce a game model for an Algol-like programming language with primitives for parallel composition and synchronization on semaphores. The semantics is based on a simplified version of Hyland-Ong-style games and it emphasizes the intuitive connection between the concurrent nature of games and that of computation. The model is fully abstract for may-equivalence.
متن کاملStrategy Preserving Compilation for Parallel Functional Code
Graphics Processing Units (GPUs) and other parallel devices are widely available and have the potential for accelerating a wide class of algorithms. However, expert programming skills are required to achieving maximum performance. These devices expose low-level hardware details through imperative programming interfaces where programmers explicity encode device-specific optimisation strategies. ...
متن کاملCompilingParallel FunctionalCodewithData Parallel IdealisedAlgol
Graphics Processing Units (GPUs) and other parallel devices are widely available and have the potential for accelerating a wide class of algorithms. However, expert programming skills are required to achieve maximum performance. ese devices expose low-level hardware details through imperative programming interfaces which inevitably results in non-performanceportable programs highly tuned for a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Inf. Comput.
دوره 179 شماره
صفحات -
تاریخ انتشار 1996